<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /*
            every 类似于 &&， 也就是一假则假，全部真才为真
                        但凡有一个是false，返回值就是false，都是true，返回值才是true
                        
            some  类似于 ||   也就是一真则真，全部假才为假
                        但凡有一个是true，返回值就是true，都是false，返回值才是false
        */
      //   const list = [10, 20, 30, 40]

      //   const res1 = list.every(v => {
      //     console.log('every', v)
      //     return true
      //   })
      //   console.log(res1) // true

      //   // some方法
      //   const res2 = list.some(v => {
      //     console.log('some', v)
      //     return true
      //   })
      //   console.log(res2) // true

      // every用在需要找都满足的场景，例如： 我要判断一个数组里是不是都是偶数
      /*
      const list = [10, 11, 20]
      const res = list.every(v => {
        return v % 2 === 0
      })
      console.log(res) // false

      // some用在只要有的情况，例如：我要判断一个数组里有没有偶数
      const list2 =  [10, 11, 20]
      const res2 = list2.some(v => {
        return v % 2 == 0
      })
      console.log(res2) // true
      */


    // 需求：我要判断所有多选框是否已经被勾选
    const list = [
        { name: '篮球', checked: true },
        { name: '足球', checked: false },
        { name: '排球', checked: true },
    ]
    // 怎样用代码判断是否都选中？
    // const isAll = list.every( v => {
    //     return v.checked === true
    // })
    // const isAll = list.every( v => {
    //     return v.checked
    // })

    // 但凡v.checked有一个false，结果一定是false，都是true，结果才是true
    const isAll = list.every(v => v.checked)

    console.log(isAll) // false
    </script>
  </body>
</html>
